Method and device for multiple input/multiple output transmit and receive weights for equal-rate data streams

ABSTRACT

The invention provides a method of operating a communication system. A channel matrix of a gain and phase between each transmit antenna and each receive antenna of the communication system is provided. At least one receive weight vector is computed as a function of the channel matrix and at least one of transmit weight vectors. An updated transmit weight vector is computed as a function of the transmit weight vector, the receive weight vector, the channel matrix.

FIELD OF THE INVENTION

[0001] In general, the invention relates to the field of communicationsystems. More specifically, the invention relates to strategies forwireless Multiple-Input/Multiple-Output (MIMO) communications and inparticular, to establishing transmit and receive weighting matrices foruse at the transmitter antenna array and the receiver antenna array.

BACKGROUND OF THE INVENTION

[0002] In a wireless communication system, a major design challenge isto maximize system capacity and performance. One such communicationdesign known in the art is Multiple-Input/Multiple Output (MIMO), and isa means of transmitting multiple data streams on the same time-frequencychannel to a single receiver. The MIMO strategy involves deployingmultiple antennas on both the transmitter and the receiver.

[0003] In environments having rich multipath scattering, large increasesin capacity can be achieved through the use of MIMO and appropriatetransmit and receive signal processing techniques. It is well known thatMIMO wireless channels have significantly higher capacities thansingle-input single-output wireless communication channels, which hasmotivated the design of wireless communication systems with multipleantennas. Current system algorithms designed to achieve high capacityinclude spatial multiplexing, space-time coding and adaptive modulation.

[0004] These MIMO systems include the various BLAST (Bell-labs LAyeredSpace-Time) type techniques proposed by Lucent as a subset. The BLASTtype techniques however, do not use the channel knowledge at thetransmitter and thus are sub-optimal.

[0005] For MIMO systems, the maximum theoretical system capacity can beachieved using transmit and receive weights based on the Singular ValueDecomposition (SVD) combined with a water-pouring (optimally assigningpower to the individual data streams) strategy for determining theoptimal data rates and power distribution. This strategy for maximizingcapacity must adaptively control not only the number of independent datastreams to be formed but also the choice of modulation and coding to beused on each stream. However, even for full-rank channels (as are knownin the art), there are cases where a fixed number of data streams havingthe same modulation type is desirable, for example to avoid having tomake a complex real-time decision on both the number of streams and themodulation/coding type on each stream. Consequently, using the SVDweights for a fixed number of equal-rate data streams is not the bestoption because fixing the modulation type will not take advantage of theunequal signal-to-noise ratios at the outputs of the receive array.

[0006] Therefore, it would be desirable to have a method and device forfinding transmit and receive weights that are optimized for the use ofequal-rate data streams. Further, it would be desirable that theseweights have a lower Bit Error Rate (BER) than weights found using theSVD approach.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is an overview diagram of a preferred embodiment of awireless (cellular) communication system in accordance with theinvention;

[0008]FIG. 2 is a block diagram illustrating a preferred embodiment of areceiving device imbedded within the communication system of FIG. 1 inaccordance with the invention;

[0009]FIG. 3 is a block diagram illustrating details of an antennacombiner imbedded within the receiving device of FIG. 2 in accordancewith the invention;

[0010]FIG. 3A is a block diagram illustrating a preferred embodiment ofa transmitting device imbedded within the communication system of FIG. 1in accordance with the invention;

[0011]FIG. 4 is a block diagram illustrating one embodiment of atransmit weighting unit imbedded within the transmitting device of FIG.3A in accordance with the invention;

[0012]FIG. 5 is a flow chart representation of one embodiment of amethod for providing Multiple Input Multiple Output (MIMO) receive andtransmit weights as performed by the antenna combiner of FIG. 3 andtransmitting device of FIG. 3A, for finding the MMSE linear weights, inaccordance with the invention;

[0013]FIG. 6 is a flow chart representation of an alternative embodimentof a method performed by the antenna combiner of FIG. 3 and transmittingdevice of FIG. 3A, for finding the MMSE successive cancellation weights,in accordance with the invention;

[0014]FIG. 7 is a flow chart representation of an alternative embodimentof a method performed by the antenna combiner of FIG. 3 and transmittingdevice of FIG. 3A, for finding the MMSE successive cancellation weights,in accordance with the invention;

[0015]FIG. 8 is a flow chart representation of an alternative embodimentof a method performed by the antenna combiner of FIG. 3 and transmittingdevice of FIG. 3A, for finding the MMSE successive cancellation weights,in accordance with the invention; and

[0016]FIG. 8A is a flow chart representation of an embodiment for themethod of FIG. 8 as performed by the antenna combiner of FIG. 3 andtransmitting device of FIG. 3A.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

[0017]FIG. 1 illustrates a wireless communication system 100 inaccordance with one embodiment of the present invention. As shown inFIG. 1, a base station 110 provides communication service to ageographic region known as a cell 103, 102. At least one user device 120and 130 communicate with the base station 110. In one embodiment of thewireless communication system 100, at least zero external interferencesources 140 share the same spectrum allocated to the base station 110and subscriber devices 120 and 130. The external interference sources140 represent an unwanted source of emissions that interferes with thecommunication process between the base station 110 and the user devices120 and 130. The exact nature and number of the external interferencesources 140 will depend on the specific embodiment of the wirelesscommunication system 100. In the embodiment shown in FIG. 1, an externalinterference source will be another user device 140 (similar inconstruction and purpose to user device 120) that is communicating withanother base station 112 in the same frequency spectrum allocated tobase station 110 and user devices 120 and 130. As shown in FIG. 1, userdevices 120 have a single transmit antenna 101, while user devices 130have at least one antenna 101. One embodiment of the invention providesthat the user devices 120 and 130, as well as the base station 110 maytransmit, receive, or both from the at least one antenna 101. An exampleof this would be a typical cellular telephone. Additionally, oneembodiment of the invention can be implemented as part of a base station110 as well as part of a user device 120 or 130. Furthermore, oneembodiment provides that user devices as well as base stations may bereferred to as transmitting units, receiving units, transmitters,receivers, transceivers, or any like term known in the art, andalternative transmitters and receivers known in the art may be used.

[0018]FIG. 2, is a block diagram illustrating one embodiment of areceiving device 200 imbedded within the wireless communication system100 of FIG. 1, in accordance with the present invention. The receivingdevice 200 includes at least one antenna 101 wherein the outputs of theantennas are each provided to a receiving unit 201. The outputs of thereceiving units 201 are provided to at least one antenna combiner 202.The signals from the receiving units 201 are also fed into a combinercontroller 210, which may regulate the operation of the at least oneantenna combiner 202. The signals from the receiving units 201 may alsobe fed into a channel estimation device 208. A pilot symbol generator212 generates pilot symbol information that is used by the combinercontroller 210 to control the antenna combiner 202. The pilot symbolinformation generated by the pilot symbol generator 212 is also used bythe channel estimation device 208 to estimate a time-varying frequencyresponse of the transmitting devices of wireless communication system.The output of the antenna combiner 202 is fed into an informationdecoding unit 206, which decodes the antenna combiner output 204 andgenerates data information 213 that was received by the antennas 101.

[0019]FIG. 3 is a block diagram illustrating details of the antennacombiner 202 of receiving device 200 of FIG. 2. In one embodiment,antenna combiner 202 can be coupled to the receiving units 201, which inturn are coupled to the antennas 101. The receiving units 201 mayinclude radio frequency pre-amplifiers, filters, and other devices thatcan be used to convert a radio frequency signal received by the antenna101, to a digital stream of baseband equivalent complex symbols. Asillustrated in FIG. 2, the output (y) of the i^(th) receiving unit 201(where i is an integer between 1 and M inclusive, and M is the totalnumber of antenna 101 elements) may be mathematically denoted byy_(i)(k), where k and i are integers, and is provided to the antennacombiner 202. The antenna combiner 202 can be in the form of at leastone complex multipliers 302 that multiply the output of each receivingunit 201 by a weight (w) 304 mathematically denoted as w_(i)(k). Acombiner 306 may sum the outputs of the at least one complex multipliers302. For one embodiment of the invention, the combiner controller 210 ofFIG. 2 controls the values of the weights 304.

[0020]FIG. 3A is a block diagram illustrating one embodiment of atransmitting device 3A00 imbedded within the wireless communicationsystem 100 of FIG. 1, in accordance with the present invention. Thetransmitting device 3A00 may include at least one antenna 101 whereinthe inputs to the antennas may be provided from at least onetransmitting unit 3A01, and at least one transmit combiner 3A03. Theinputs to the transmit combiner 3A03 may be provided from at least onetransmit weighting unit 3A05. At least one Information Bit Stream 3A13may be encoded by an Information Encoding Unit 3A07 and converted into aData Stream 3A10. The Data Stream 3A10 is weighted by transmit weightingunit 3A05 and the outputs of the transmit weighting unit 3A05 may besent to the transmit combiner 3A03. The Transmit Weighting UnitController 3A11 may be provided with channel state information 3A12,which may be used by the Transmit Weighting Unit Controller 3A10 tocontrol the operation of transmit weighting units 3A05.

[0021]FIG. 4 is a block diagram illustrating one embodiment of thetransmitting weighting unit 3A05 of FIG. 3A, in accordance with thepresent invention. The symbol (x) on data stream i at time k, x_(i)(k)410 is weighted 403 by a transmit weight 404. The transmit weight 404value may be dependant on which antenna the transmit weight 404 isassociated with. In equation form, an antenna m's signal (v) for datastream i at time k 420 may be expressed asv_(i,m)(k)=V_(i,m)(k)x_(i)(k). The antenna m's signal at time k for datastream i may be sent to the transmit combiner 3A03 for antenna m inorder to combine all the data streams before radiating the signal out ofantenna m.

[0022]FIG. 5 is a flow chart representation of a method for providingmultiple input multiple output MIMO receive weights as can be performedby the antenna combiner of FIG. 3, and the transmitting device 3A00, inaccordance with the invention.

[0023] One embodiment of the invention may transmit and receive N_(s)data streams, wherein each data stream can have the same modulation typewith M_(T) transmit antennas and M_(R) receive antennas. The presentinvention may provide an alternative to the SVD weights that are knownin the art. One embodiment of the present invention can minimize themean square error between the receive array outputs and the transmittedsymbols. Using the SVD weights for a fixed number of equal-rate datastreams may not be the best option because fixing the modulation typewill not take advantage of the unequal signal-to-noise ratios at theoutputs of the receive array. This is because the SVD weightsdiagonalize the channel, which means that there is no cross talk betweenthe data streams. Thus MMSE weights based on the SVD approach will nottake advantage of the performance gains possible by trading off thesuppression of other streams with gains over noise. Further, if the SVDweights are used while changing each streams' transmitted power so thateach data stream is received with equal energy, the optimal data streamwill be penalized while an inadequate data stream is built-up, againindicating that this is not the best solution. One embodiment of thepresent invention computes linear MMSE weights that are not constrainedto diagonalize the channel, thereby providing superior performance whenall data streams have the same modulation type.

[0024] In order to compute the linear MMSE weights in accordance withone embodiment of the present invention, a single estimate of thechannel gain and phase between each receive antenna and each transmitantenna may be provided to the invention (this is also called thechannel). The channel is modeled as stationary and flat-faded. As isknown in the art, such channels occur in systems that include, but arenot limited to, single carrier systems operating in frequencynon-selective channels, OFDM systems in which an embodiment of theinvention operates on a set of frequency-domain subcarriers havingidentical frequency response characteristics, or single carrier systemin which an embodiment of the invention operates in the frequency domainon a set of frequency-bins having identical frequency responsecharacteristics, or other similar systems as is known in the art. Alsoprovided is that both the transmitting weighting unit and receivingdevice may know the channel.

[0025] In one embodiment, the M_(R)×M_(T) channel matrix, H, containsthe gain and phase between each transmit and receive element. Also letthe M_(T)×N_(s) matrix (also known as the transmit weighting matrix), V,denote the transmit weights for the N_(s) streams (the u^(th) column ofV is denoted v_(u)), and finally let the N_(s)×1 vector, x, be thesymbols on the N_(s) streams (at one particular time). Then for thisembodiment, a received M_(R)×1 vector can be given as:

y=HVx+n   (1)

[0026] where n is a M_(R)×1 vector of noise with power of σ_(n) ² eachof the received antennas. In one embodiment, in order to keep an averagetransmit power equal to one, the transmit weighting matrix may benormalized as follows:

trace(V ^(H) V)=1   (2)

[0027] where trace(A) means the sum of the diagonal elements of thesquare matrix A.

[0028] One embodiment of the invention finds the transmit weightingmatrix and a M_(R)×N_(s) receive weighting matrix, W, such that anestimate of the transmitted symbols, r, is:

r=W ^(H) y   (3)

[0029] (The u^(th) column of W is denoted w_(u)) In one embodiment ofthe invention, the operation of the invention may be optimized for thecase where each of the N_(s) data streams is constrained to have thesame modulation type. This embodiment of the invention minimizes theMean Squared Error (MSE) between the estimated symbol on each stream andthe transmitted symbol assuming linear receive and transmit weights. Inequation form, this can be expressed as: $\begin{matrix}{{\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}\quad {E{{r_{u} - x_{u}}}^{2}}}} = {\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}\quad {E{{{w_{u}^{H}( {{\sum\limits_{l = 1}^{N_{s}}\quad {{Hv}_{l}x_{l}}} + n} )} - x_{u}}}^{2}}}}} & (4)\end{matrix}$

[0030] where r_(u) is the u^(th) element of the vector r and x_(u) isu^(th) element of the vector x. Using E{x_(u)x_(l) ^(*)}=δ(u−l), (4)becomes: $\begin{matrix}{\min\limits_{w_{u},v_{u}}\begin{Bmatrix}{\sum\limits_{u = 1}^{N_{s}}{{w_{u}^{H}( {{\sum\limits_{l = 1}^{N_{s}}\quad {{Hv}_{l}v_{l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )}w_{u}}} \\{{- {\sum\limits_{u = 1}^{N_{s}}{w_{u}^{H}{Hv}_{u}}}} - {\sum\limits_{u = 1}^{N_{s}}{v_{u}^{H}H^{H}w_{u}}} + N_{s}}\end{Bmatrix}} & (5)\end{matrix}$

[0031] In addition to the minimization of the objective function in (5),the constraints on the transmit weight vectors (the columns of thematrix V) given in (2) need to be met. One embodiment of the inventionmeets the constraints by modifying the objective function of (5) asfollows: $\begin{matrix}{\min\limits_{w_{u},v_{u}}\begin{Bmatrix}{{\sum\limits_{u = 1}^{N_{s}}{{w_{u}^{H}( {{\sum\limits_{l = 1}^{N_{s}}\quad {{Hv}_{l}v_{l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )}w_{u}}} -} \\{{\sum\limits_{u = 1}^{N_{s}}{w_{u}^{H}{Hv}_{u}}} - {\sum\limits_{u = 1}^{N_{s}}{v_{u}^{H}H^{H}w_{u}}} + N_{s} +} \\{\gamma {{{\sum\limits_{u = 1}^{N_{s}}{v_{u}^{H}v_{u}}} - 1}}^{2}}\end{Bmatrix}} & (6)\end{matrix}$

[0032] where γ is an arbitrary scaling placed on the constraint part ofthe objective function.

[0033] A closed form solution to (6) does not exist for N_(s)>1.However, (6) is in the form of an unconstrained optimization problem soa modified version of an iterative algorithm such as the gradient-basedoptimization approach is used by one embodiment of the invention tosolve for w_(u) and v_(u). The gradient of (6) with respect to w_(u) canbe shown to be:

∇w _(u)=(HVV ^(H) H ^(H)+σ_(n) ²I_(MR))w _(u) −Hv _(u)   (7)

[0034] Because (HVV^(H)H^(H)+σ_(n) ² I _(MR)) is well conditioned, itsinverse can be found. Therefore W can be found at each iteration step asfollows (i.e., by setting equation (7) equal to zero):

W=(HVV ^(H) H ^(H)+σ_(n) ² I _(MR))⁻¹ HV   (8)

[0035] The gradient of (6) with respect to v_(u) can be shown to be:

∇v _(u)=(H ^(H) WW ^(H) H+2γ(trace(V ^(H) V)−1)I _(MT))v _(u) −H ^(H) w_(u)   (9)

[0036] The invention lets G=[∇v₁ . . . ∇v _(Ns)], and then usingequation (9), G can be expressed as:

G=(H ^(H) WW ^(H) H+2γ(trace(V ^(H) V)−1)I _(MT))V−H ^(H) W   (10)

[0037] The above embodiment of the invention explicitly adds theconstraint on the transmit weights in equation (2) to the minimization.Another option for ensuring the constraint is to use a Lagrangianmultiplier, λ, as is known in the art. For this method, the gradientmatrix in (10) is changed as follows:

G=(H ^(H) WW ^(H) H+λI _(MT))V−H ^(H) W   (11)

[0038] One addition gradient is needed, the Lagrangian gradient whichis:

g _(λ)=trace(V ^(H) V−1)   (12)

[0039] The previous equations and calculations express a mathematicalmeans for a method of providing linear MIMO transmit and receiveweights.

[0040] The method of providing MIMO receive and transmit weights, shownin the flow chart 500, may begin by being provided a channel matrix 510.The channel matrix H, is a M_(R)×M_(T) matrix that contains the gain andphase between each transmit antenna (M_(T) is the total number oftransmit antennas) and each receive antenna (M_(R) is the total numberor receive antennas). In one embodiment of the invention, the receivedvector y, is modeled as y(k)=HVx(k)+n(k), where V is a M_(T)×N_(s)matrix of the transmit weight vectors, x(k) is a N_(s)×1 vector of thetransmitted symbols at index k (e.g., time or frequency), and n(k) is aM_(R)×1 vector of noise at index k. The embodiment of the inventionillustrated in FIG. 5 may require the total transmit power to belimited, therefore the transmit weight vectors are constrained totrace(V^(H)V)=1, where trace(A) means to sum the diagonal elements ofthe matrix A, and superscript H means the conjugate transpose (alsoknown as the Hermitian) of the matrix.

[0041] Another embodiment of the invention may find a receive weightingmatrix (also referred to as the receive weight vectors) W, that find anestimate, r(k), of x(k) as a function of r(k)=W^(H)y(k). Next for theembodiment 500, block 520 initializes an iteration number t=0. In oneembodiment of the invention, transmit weight vectors can be initialized530 as ${V_{0} = {\frac{1}{\sqrt{N_{s}}}\begin{bmatrix}I_{N_{s}} \\0_{{({M_{T} - N_{s}})} \times N_{s}}\end{bmatrix}}},$

[0042] where I_(Ns) is a N_(s)×N_(s) matrix of all zeros except for thediagonal elements which are one, and 0_(a×b) is an a×b matrix of allzeros. Utilizing the iteration number t, the receive weight vectorsW_(t), are found 540 as W_(t)=(HV_(t)V_(t) ^(H)H^(H)+σ_(n)²I_(MR))⁻¹HV_(t), where V_(t) are the transmit weight vectors atiteration number t, σ_(n) ² is the noise power, and I_(MR) is aM_(R)×M_(R) matrix of all zeros except for the diagonal elements whichare one. Again utilizing the iteration number t, the gradient matrixG_(t), is found 550 as G_(t)=(H^(H)W_(t)W_(t) ^(H)H+2γ(trace(V_(t)^(H)V_(t))−1)I_(MT))V_(t)−H^(H)W_(t), where γ is the constraint weight(in one embodiment, γ=1), and I_(MT) is a M_(T)×M_(T) matrix of allzeros, except for the diagonal elements that are one. In anotherembodiment of the invention, the gradient matrix is:G_(t)=(H^(H)W_(t)W_(t) ^(H)H+λ_(t)I_(MT))V_(t)−H^(H)W_(t), theLagrangian multiplier at iteration number t can be given asλ_(t)=λ_(t−1)+αg_(λ,t−1) and the Lagrangian gradient at iteration numbert is: g_(λ,t)=trace(V_(t) ^(H)V_(t)−1).

[0043] If the embodiment of the invention utilizes an adaptive step size560, the step size α, at iteration time t may be found 565 as theargument that minimizes the following objective function,C(V_(t),W_(t),G_(t),γ,α) where

C(V _(t) ,W _(t) ,G _(t), γ,α)=W _(t) ^(H) H(V _(t) −αG _(t))^(H) H ^(H)W _(t) −W _(t) ^(H) H(V _(t) −αG _(t))−(V _(t) −αG _(t))^(H) H ^(H) W_(t)+γtrace((V _(t) −αG _(t))^(H)(V _(t) −αG _(t)))

[0044] After a step size has been established, the transmit weightvectors can be computed 570 at iteration t+1 as a function of thetransmit weight vectors at iteration number t, the step size atiteration number t, and the gradient matrix at iteration number t, usingthe equation V_(t+1)=V_(t)−αG_(t). In another embodiment of theinvention, the Lagrangian multiplier may be updated with:λ_(t+1)=λ_(t)+αg_(λ,t). After computing the transmit weight vectors 570,the iteration number is incremented by one 575 as t=t+1. If theiteration number has reached an ‘end’ value 580, where t_(end) is aninteger designating the maximum number of iterations, then the receiveweight vectors are the receive weight vectors at iteration number t,(W=W_(t)) 590 and the transmit weight vectors are the transmit weightvectors at iteration number t, (V=V_(t)) and this embodiment iscompleted. If the iteration number has not reached an ‘end’ value, 585decides if trace(G_(t−1) ^(H)G_(t−1)) <ε, and if yes, the receive weightvectors are chosen to be the receive weight vectors at iteration numbert, (W=W_(t)) and the transmit weight vectors are chosen to be thetransmit weight vectors at iteration number t, (V=V_(t)) 590 againcompleting this embodiment. For decision block 585, trace(G_(t−1)^(H)G_(t−1))<ε means the sum of the diagonal elements of the squarematrix (G_(t−1) ^(H)G_(t−1)) and where ε is a number indicating howsmall the gradient matrix at iteration number t should get. In otherwords, when trace(G_(t−1) ^(H)G_(t−1))<ε, the algorithm has almostconverged because at the optimal solution Gt_(t+1)=0. If in decisionblock 585, trace(G_(t−1) ^(H)G_(t−1))<ε, is false, the process recedesto block 540 and the successive cancellation weights method continuesuntil all values are satisfied by the techniques described within flowchart 500.

[0045] At this point the transmit vectors are, if necessary,renormalized to satisfy the constraint in Equation (2). An alternateembodiment of the invention is a closed form solution to the lineartransmit and receive weights that has an equal Mean Squared Error (MSE)on each or the received data streams. At the receiver, an estimate, ofthe transmitted symbols, r, can be found by using a linear M_(R)×N_(s)weight matrix, W, as follows:

r=W ^(H) y   (13)

[0046] An MMSE approach can be used to find W and V as summarized nextwhere a closed form expression for W and V are given. Using the SVD, Hcan be expressed as follows:

H=U _(H) S _(H) Z _(H) ^(H)   (14)

[0047] where M_(R)×M_(R) U_(H) and M_(T)×M_(T) Z_(H) are unitarymatrices and M_(R)×M_(T) S_(H) is a matrix of all zeros except for theupper left r_(H)×r_(H) portion which is:

[S _(H)]_(Ns)=diag(s _(H,1) , . . . , s _(H,rH))   (15)

[0048] where r_(H) is the rank of H (r_(H)≦min(M_(T),M_(R))), [A]_(l)means the first l rows and columns of A, and it is assumed thats_(H,1)≧s_(H,2)≧. . . ≧s_(H,rH). The transmit weight matrix can also beexpressed by a SVD as follows:

V=U _(v) S _(v) Z _(v) ^(H)   (16)

[0049] where M_(T)×M_(T) U_(v) is unitary, N_(s)×N_(s) Z_(v) is unitary,and M_(T)×N_(s) S_(v) may be a matrix of all zeros except for the upperN_(s)×N_(s) portion which contains the N_(s) non-zero singular values ofthe transmit weight matrix as follows:

[S _(v)]_(Ns)=diag(s _(v,1) , . . . , s _(V,Ns))   (17)

[0050] One way to find the components of (16) may be to set U_(V)=Z_(H)and the singular values can be found as the solution to: $\begin{matrix}{s_{V,l}^{2} = {{\frac{1}{\sqrt{\lambda}}\sigma_{n}s_{H,l}^{- 1}} - {\sigma_{n}^{2}s_{H,l}^{- 2}}}} & (18)\end{matrix}$

[0051] where λ is chosen so that the following equation is satisfied(this forces the transmit weights to have unit power): $\begin{matrix}{{\sum\limits_{l = 1}^{N_{s}}\quad S_{V,l}^{2}} = 1} & (19)\end{matrix}$

[0052] The MSE averaged across the data streams may be unchangedregardless of the choice of the right singular vectors of the transmitweight matrix. One option is to use the identity matrix (i.e., Z_(v)=I),however in general this choice gives unequal MSE on each data stream aswill be seen. This means that the BER performance can be dominated bythe data stream with the highest MSE. Thus if some unitary Z_(v) can befound that gives equal MSE on each stream, the BER performance willimprove while the average MSE will remain unchanged.

[0053] Using U_(V)=Z_(H), the received data vector from (1) can beexpressed as: $\begin{matrix}\begin{matrix}{y = {{U_{H}S_{H}Z_{H}^{H}S_{V}Z_{V}^{H}x} + n}} \\{= {{U_{H}S_{H}S_{V}Z_{V}^{H}x} + n}}\end{matrix} & (20)\end{matrix}$

[0054] Let N_(s)×1 Y_(Ns)={U_(H) ^(H)y}_(Ns) where {a}_(i) means thefirst i elements of the vector a, then Y_(Ns) is: $\begin{matrix}\begin{matrix}{Y_{N_{s}} = \{ {{U_{H}^{H}U_{H}S_{H}S_{V}Z_{v}^{H}x} + {U_{H}^{H}n}} \}_{N_{s}}} \\{= {\{ {S_{H}S_{V}Z_{v}^{H}x} \}_{N_{s}} + \{ {U_{H}^{H}n} \}_{N_{s}}}} \\{= {{{DZ}_{v}^{H}x} + N_{N_{s}}}}\end{matrix} & (21)\end{matrix}$

[0055] where D is a real N_(s)×N_(s) diagonal matrix equal todiag(s_(H,1)s_(V,1), . . . , s_(H,Ns)s_(V,Ns)) and N_(Ns) has acovariance matrix equal to σ_(n) ²I_(Ns). (A unitary matrix times avector of uncorrelated Gaussian random variables does not change itscovariance matrix).

[0056] The MSE on stream l can be shown to be:

MSE _(l)=1−Z _(V,l) ^(H){tilde over (D)}Z _(V,l)   (22)

[0057] where Z_(V,l) is the l^(th) column of Z_(v), and

{tilde over (D)}=D ²(D ²+σ_(n) ²I)⁻¹   (23)

[0058] Thus unless all of the diagonal elements of {tilde over (D)} areequal, using Z_(V)=I gives unequal MSEs on each data stream. The MSEaveraged across all streams can be shown to be:

{overscore (MSE)}=1−trace({tilde over (D)})/N_(s)   (24)

[0059] Therefore in order to make all data streams have the same MSE,Z_(V,l) must satisfy:

Z _(V,l) ^(H){tilde over (D)}Z _(V,l)=1−{overscore (MSE)}=trace({tildeover (D)})/N _(s) subject to Z _(V) Z _(V) ^(H) =Z _(V) ^(H) Z _(V) =I_(Ns)   (25)

[0060] One type of matrix that solves (25) is the DFT matrix (anotherchoice for when N_(s) is a power of four is the Hadamard matrix wherethe Hadamard matrix is known in the art). Thus the linear transmitweights that minimize the average MSE on the data streams and also havethe same MSE on each stream are:

V=V _(H) S _(V) F _(Ns)   (26)

[0061] where S_(V) is given by (17) and (18) and F_(Ns) is theN_(s)×N_(s) DFT matrix normalized such that F_(Ns) ^(H)F_(Ns)=I. Withthe transmit weights chosen according to (26), the N_(s) streams can berecovered without any inter-stream interference as:

r=F _(Ns) ^(H) D ⁻¹ Y _(Ns)   (27)

[0062] Another embodiment of the invention provides an alternativeapproach to calculating transmit and receive weights for MIMO equal ratedata streamsand is illustrated as FIG. 6. The embodiment illustrated asflow chart 600, finds the successive cancellation weights that minimizethe MSE between the estimated symbols and the true symbols on eachstream. The advantage of successive cancellation weights over linearweights is that some of the receive array's degrees are freedom arerecovered by sequentially subtracting out the estimated contributionfrom the decoded streams. For example if there are three streams andthree receive antennas, when decoding the first stream, two degrees offreedom in the array are needed to null the other two streams. For thesecond stream, however, only one degree of freedom is needed to null thethird stream since the decoded first stream is subtracted out. The extradegree of freedom then can be used in a max-ratio sense to provide anadditional gain against noise. Finally, the third stream has all of thedegrees of freedom in the array available to provide a gain againstnoise.

[0063] In one embodiment, for the successive cancellation method, theestimated symbols are given as: $\begin{matrix}{{r_{u} = {w_{u}^{H}( {y - {\sum\limits_{l = 1}^{u - 1}\quad {{Hv}_{l}{\hat{x}}_{l}}}} )}},{{{where}\quad {\hat{x}}_{l}} = {{slice}( r_{l} )}}} & (28)\end{matrix}$

[0064] where in one embodiment slice(r_(l)) means to choose the closestsignal constellation point to r_(l). In another embodiment, slice(r_(l))refers to any technique that involves decoding a plurality of receivedsymbols r_(l) into a bit stream, and then mapping the resulting bitstream to a signal constellation point.

[0065] The MMSE successive cancellation weights can be found as thesolution to the following minimization problem: $\begin{matrix}{{\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}\quad {E{{r_{u} - x_{u}}}^{2}}}} = {\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}\quad {E{{{w_{u}^{H}( {{\sum\limits_{l = u}^{N_{s}}\quad {{Hv}_{l}x_{l}}} + n} )} - x_{u}}}^{2}}}}} & (29)\end{matrix}$

[0066] Note that (29) differs from (4) due to the inner sum beingperformed from u to N_(s) instead of 1 to N_(s) as is done in (4). UsingE{x_(u)(n)x_(l) ^(*)(n)}=δ(u−l), (29) becomes: $\begin{matrix}{\begin{matrix}\min \\{w_{u},v_{u}}\end{matrix}\begin{Bmatrix}{{\sum\limits_{u = 1}^{N_{s}}{{w_{u}^{H}( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{l}v_{l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )}w_{u}}} -} \\{{\sum\limits_{u = 1}^{N_{s}}{w_{u}^{H}{Hv}_{u}}} - {\sum\limits_{u = 1}^{N_{s}}{v_{u}^{H}H^{H}w_{u}}} + N_{s}}\end{Bmatrix}} & (30)\end{matrix}$

[0067] In addition to the minimization of the objective function in(30), the constraints on the transmit weight vectors given in (2) needto be met. One embodiment of the invention meets those constraints bymodifying the objective function of (30) as follows: $\begin{matrix}{\begin{matrix}\min \\{w_{u},v_{u}}\end{matrix}\begin{Bmatrix}{{\sum\limits_{u = 1}^{N_{s}}{{w_{u}^{H}( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{l}v_{l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )}w_{u}}} -} \\{{\sum\limits_{u = 1}^{N_{s}}{w_{u}^{H}{Hv}_{u}}} - {\sum\limits_{u = 1}^{N_{s}}{v_{u}^{H}H^{H}w_{u}}} + N_{s} +} \\{\gamma {{{\sum\limits_{u = 1}^{N}{v_{u}^{H}v_{u}}} - 1}}^{2}}\end{Bmatrix}} & (31)\end{matrix}$

[0068] where γ is an arbitrary scaling placed on the constraint part ofthe objective function.

[0069] A closed form solution to (31) does not exist for N_(s)>1,therefore a modified version of an iterative algorithm, such as agradient-based optimization approach, is used to solve for w_(u) andv_(u). The gradient of (31) with respect to w_(u) is: $\begin{matrix}{{\nabla w_{u}} = {{( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{l}v_{l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )w_{u}} - {Hv}_{u}}} & (32)\end{matrix}$

[0070] Equation (32) cannot be put into the same form as (8) because ofthe sum from u to N_(s) in the parenthesis. Setting equation (32) equalto zero, w_(u) can be found at each iteration as: $\begin{matrix}{w_{u} = {( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{l}v_{l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )^{- 1}{Hv}_{u}}} & (33)\end{matrix}$

[0071] The gradient of (31) with respect to v_(u) is: $\begin{matrix}{{\nabla v_{u}} = {{( {{\sum\limits_{l = 1}^{u}{H^{H}w_{l}w_{l}^{H}H}} + {2{\gamma ( {{{trace}( {V^{H}V} )} - 1} )}I_{M_{T}}}} )v_{u}} - {H^{H}w_{u}}}} & (34)\end{matrix}$

[0072] In another embodiment, the gradient is computed using Lagrangianmultipliers as follows: $\begin{matrix}{{\nabla v_{u}} = {{( {{\sum\limits_{l = 1}^{u}{H^{H}w_{l}w_{l}^{H}H}} + {\lambda \quad I_{M_{T}}}} )v_{u}} - {H^{H}w_{u}}}} & (35)\end{matrix}$

[0073] One addition gradient is needed, the Lagrangian gradient whichis:

g _(λ)=trace(V ^(H) V−1)  (36)

[0074] The Lagrangian gradient is needed in order to update theLagrangian multiplier, λ.

[0075] The method for calculating the successive cancellation weights isdescribed in FIG. 6 as a flow chart representation 600 of a preferredembodiment of an alternative method performed by the antenna combiner ofFIG. 3 and the transmit device of FIG. 3A, for finding the MMSEsuccessive cancellation weights, in accordance with the invention. FIG.6 begins by being provided 610 a channel matrix H that is a M_(R)×M_(T)matrix which contains the gain and phase between each transmit antenna(M_(T) is the total number of transmit antennas) and each receiveantenna (M_(R) is the total number or receive antennas). The receivedvector, y, is modeled as y(k)=HVx(k)+n(k), where for one embodiment ofthe invention, V is a M_(T)×N_(s) matrix of the transmit weight vectors,x(k) is a N_(s)×1 vector of the transmitted symbols at index (e.g., timeor frequency), k, and n(k) is a M_(R)×1 vector of noise at index k.Because the total transmit power has to be limited, in one embodiment ofthe invention, the transmit weight vectors may be constrained astrace(V^(H)V)=1, where trace (A) means to sum the diagonal elements ofthe matrix A, and superscript H means the conjugate transpose (alsoknown as the Hermitian) of the matrix.

[0076] An additional embodiment of the invention finds receive weightvectors which are the columns of the receive weight matrix, W, that canbe used to find an estimate, r(k), of x(k) as${{r_{u}(k)} = {w_{u}^{H}( {{y(k)} - {\sum\limits_{l = 1}^{u - 1}{{Hv}_{l}{{\hat{x}}_{l}(k)}}}} )}},$

[0077] where {circumflex over (x)}_(l)(k)=slice(r_(l)(k)) and r_(u)(k)is the u^(th) element of r(k) slice(r_(l)(k)) may mean to choose theclosest signal constellation point to r_(l)(k).

[0078] In another embodiment of the invention, the method of FIG. 6 caninitialize an iteration number t, to zero 620, and the transmit weightvectors 630 may be initialized as${V_{0} = {\frac{1}{\sqrt{N_{s}}}\begin{bmatrix}I_{N_{s}} \\0_{{({M_{T} - N_{s}})} \times N_{s}}\end{bmatrix}}},$

[0079] where I_(Ns) is a N_(s)×N_(s) matrix of all zeros except for thediagonal elements which are one, and 0_(a×b) is an a×b matrix of allzeros. With the initialization complete, the method of FIG. 6 computesthe receive weight vectors W_(t) at iteration number t 640, are found,for u=1 to N_(s), as$w_{t,u} = {( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{t,l}v_{t,l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )^{- 1}{Hv}_{t,u}}$

[0080] where w_(t,u) is the u^(th) column of W_(t), v_(t,u) are thetransmit weight vectors at iteration number t, σ_(n) ² is the noisepower, and I_(MR) is a M_(R)×M_(R) matrix of all zeros except for thediagonal elements which are one.

[0081] Flow chart 600 proceeds to compute the gradient vectors atiteration number t 650. The gradient vectors, g_(t,u), are found usingthe equation${g_{t,u} = {{( {{\sum\limits_{l = 1}^{u}{H^{H}w_{t,l}w_{t,l}^{H}H}} + {2{\gamma ( {{{trace}( {V_{t}^{H}V_{t}} )} - 1} )}I_{M_{T}}}} )v_{t,u}} - {H^{H}w_{t,u}}}},$

[0082] where γ can be the constraint weight (in one embodiment of theinvention, γ=1), and I_(MT) is a M_(T)×M_(T) matrix of all zeros, exceptfor the diagonal elements which are one. In another embodiment of theinvention, the gradient vectors may be found according to:$g_{t,u} = {{( {{\sum\limits_{l = 1}^{u}\quad {H^{H}w_{t,l}w_{t,l}^{H}H}} + {\lambda_{t}I_{M_{T}}}} )v_{t,u}} - {H^{H}{w_{t,u}.}}}$

[0083] It is by computing the gradient vectors, g_(t,u), instead of thegradient matrix, G_(t), that distinguishes the successive cancellationweights method of FIG. 6 from the linear MMSE weights method of FIG. 5.

[0084] If a step size has not been calculated prior to 660, the stepsize α, at iteration time t may be found 665 as the argument thatminimizes the following objective function, C(V_(t),W_(t),G_(t),γ,α)where${C( {V_{t},W_{t},G_{t},\gamma,\alpha} )} = {\begin{Bmatrix}\begin{matrix}{{\sum\limits_{u = 1}^{N_{s}}\quad {{w_{t,u}^{H}( {{\sum\limits_{l = u}^{N_{s}}\quad {{H( {v_{t,u} - {\alpha \quad g_{t,u}}} )}( {v_{t,u} - {\alpha \quad g_{t,u}}} )^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )}w_{t,u}}} -} \\{{\sum\limits_{u = 1}^{N_{s}}\quad {w_{t,u}^{H}{H( {v_{t,u} - {\alpha \quad g_{t,u}}} )}}} - {\sum\limits_{u = 1}^{N_{s}}{( {v_{t,u} - {\alpha \quad g_{t,u}}} )^{H}H^{H}w_{t,u}}} + N_{s} +}\end{matrix} \\{\gamma {{{\sum\limits_{u = 1}^{N_{s}}{( {v_{t,u} - {\alpha \quad g_{t,u}}} )^{H}( {v_{t,u} - {\alpha \quad g_{t,u}}} )}} - 1}}^{2}}\end{Bmatrix}.}$

[0085] After a step size has been established, the transmit weightvectors are computed 670 at iteration t+1 as a function of the transmitweight vectors at iteration number t, the step size at iteration numbert, and the gradient vectors at iteration number t, using the equationv_(t+1,u)=v_(t,u)−αg_(t,u), where u=1 to N_(s). In another embodiment ofthe invention, the Lagrangian multiplier is updated with:λ_(t+1)=λ_(t)+αg_(λ,t).

[0086] After computing the transmit weight vectors 670, the iterationnumber may be incremented by one 675 as t=t+1. If the iteration numberhas reached an ‘end’ value 680, where t_(end) is an integer designatingthe maximum number of iterations, then the receive weight vectors may bechosen to be the receive weight vectors at iteration number t, (W=W_(t))and the transmit weight vectors may be chosen to be the transmit weightvectors at iteration number t, (V=V_(t)) 690 completing this embodiment.If the iteration number has not reached an ‘end’ value, 685 decides iftrace(G_(t−1) ^(H)G_(t−1))<ε, and if yes, the receive weight vectors arethe receive weight vectors at iteration number t, (W=W_(t)) and thetransmit weight vectors are the transmit weight vectors at iterationnumber t, (V=V_(t)) 690 again completing this embodiment. For decisionblock 685, trace(G_(t−1) ^(H)G_(t−1))<ε means the sum of the diagonalelements of the square matrix (G_(t−1) ^(H)G_(t−1)) and where ε is anumber indicating how small the gradient matrix at iteration number tshould get. In other words, when trace(G_(t−1) ^(H)G_(t−1))<ε, thealgorithm has almost converged because at the optimal solution,G_(t−1)=0. If in decision block 685, trace(G_(t−1) ^(H)G_(t−1))<ε, isfalse, the process recedes to block 640 and the successive cancellationweights method continues until all values are satisfied by thetechniques described within flow chart 600. At this point the transmitvectors may be renormalized, if necessary, to satisfy the constraint inEquation (2).

[0087]FIG. 7 shows a flowchart of another embodiment of the invention700. In this embodiment the gradient matrix or vectors may never becalculated, but the transmit and receive linear and successivecancellation weights can be found through means of iteration. Initially,710 one embodiment of the invention may be provided a channel matrix.The iteration number, t 720, may next be set to 0 and the transmit andreceive vectors can be initialized 730. In one embodiment of theinvention, the transmit and receive vectors can be initialized to:$V_{0} = {\frac{1}{\sqrt{N_{s}}}\begin{bmatrix}I_{N_{s}} \\0_{{({M_{T} - N_{s}})} \times N_{s}}\end{bmatrix}}$

[0088] For the linear weights, the receive weights are initialized to:

W ₀=(HV ₀ V ₀ ^(H) H+σ_(n) ²I_(MR))⁻¹ HV ₀

[0089] For the successive cancellation weights, the receive weights areinitialized to:$w_{0,u} = {( {{\sum\limits_{l = u}^{N_{s}}\quad {{Hv}_{0,l}v_{0,l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )^{- 1}{Hv}_{0,u}}$

[0090] Additionally the objective function at iteration 0, C₀, is set toan arbitrary large number. (In one embodiment C₀=infinity.)

[0091] The transmit weight vectors at iteration number t+1 may next becomputed 740 as a function of the transmit weight vectors at time t, thereceive weight vectors at iteration number t, and the channel matrix asfollows (where γ is the constraint weight):

[0092] For the linear weights:

V _(t+1)=(H ^(H) W _(t) W _(t) ^(H) H+2γ(trace(V _(t) ^(H) V _(t))−1)I_(MT))⁻¹ H ^(H) W _(t)

[0093] For the successive cancellation weights:$v_{{t + 1},u} = {( {{\sum\limits_{l = 1}^{u}\quad {H^{H}w_{t,l}w_{t,l}^{H}H}} + {2{\gamma ( {{{trace}( {V_{t}^{H}V_{t}} )} - 1} )}I_{M_{T}}}} )^{- 1}H^{H}w_{t,u}}$

[0094] Next, the receive weight vectors at iteration t+1 may be computedas a function of the transmit weight vectors 750 at iteration numbert+1, the noise power, and the channel matrix as follows:

[0095] For the linear weights:

W _(t)=(HV _(t) V _(t) ^(H) H+σ_(n) ² I _(MR))⁻¹ HV _(t)

[0096] For the successive cancellation weights:$w_{t,u} = {( {{\sum\limits_{l = u}^{N_{s}}\quad {{Hv}_{t,l}v_{t,l}^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )^{- 1}{Hv}_{t,u}}$

[0097] The objective function at iteration number t+1 may next becomputed 760 as a function of the transmit and receive weight vectors atiteration number t+1, the noise power, and the channel matrix asfollows:

[0098] For the linear weights:

C _(t+1) =N _(s) +W _(t+1) ^(H)(V _(t+1))(V_(t+1))^(H) H ^(H) W _(t+1)−W _(t+1) ^(H) H(V _(t+1))−(V _(t+1))^(H) H ^(H) W t+1 +γtrace((V_(t+1))^(H)(V _(t+1)))

[0099] For the successive cancellation weights:$C_{t + 1} = \begin{Bmatrix}\begin{matrix}{{\sum\limits_{u = 1}^{N_{s}}\quad {{w_{{t + 1},u}^{H}( {{\sum\limits_{l = u}^{N_{s}}\quad {{H( v_{{t + 1},u} )}( v_{{t + 1},u} )^{H}H^{H}}} + {\sigma_{n}^{2}I_{M_{R}}}} )}w_{{t + 1},u}}} -} \\{{\sum\limits_{u = 1}^{N_{s}}\quad {w_{{t + 1},u}^{H}{H( v_{{t + 1},u} )}}} - {\sum\limits_{u = 1}^{N_{s}}\quad {( v_{{t + 1},u} )^{H}H^{H}w_{{t + 1},u}}} + N_{s} +}\end{matrix} \\{\gamma {{{\sum\limits_{u = 1}^{N_{s}}{( v_{{t + 1},u} )^{H}( v_{{t + 1},u} )}} - 1}}^{2}}\end{Bmatrix}$

[0100] Next, 770 if the objective function at iteration t is less thanthe objective function at iteration t+1, then the receive weight vectorsmay be the receive weight vectors at iteration number t, (W=W_(t)) andthe transmit weight vectors may be the transmit weight vectors atiteration number t, (V=V_(t)) 790 completing this embodiment. If theobjective function at iteration t is not less than the objectivefunction at iteration t+1, then in 775 the iteration number, t, can beincremented by one. If the iteration number has reached an ‘end’ value780, where t_(end) may be an integer designating the maximum number ofiterations, then the receive weight vectors may be chosen to be thereceive weight vectors at iteration number t, (W=W_(t)) and the transmitweight vectors may be chosen to be the transmit weight vectors atiteration number t, (V=V_(t)) 790 completing this embodiment. If the endvalue is not reached, then the iterative procedure returns back to 740and performs another iteration. After the iterations are completed, thetransmit vectors may need to be renormalized to meet the constraint inEquation (2).

[0101] A further embodiment of the invention may provide for thesuccessive cancellation weights to find weights that maximize thetheoretical capacity as described next. The capacity of the channel fora given transmit weight matrix, V, can be shown to be: $\begin{matrix}{C = {\log_{2}\lbrack {\det ( {I + {\frac{1}{\sigma_{n}^{2}}{HVV}^{H}H^{H}}} )} \rbrack}} & (37)\end{matrix}$

[0102] Using (14) and (16), the capacity equation in (37) becomes:$\begin{matrix}{C = {\log_{2}\lbrack {\det ( {I + {\frac{1}{\sigma_{n}^{2}}U_{H}S_{H}Z_{H}^{H}U_{V}S_{V}Z_{V}^{H}Z_{V}S_{V}^{T}U_{V}^{H}Z_{H}S_{H}^{T}U_{H}^{H}}} )} \rbrack}} & (38)\end{matrix}$

[0103] Using Z_(V) ^(H)Z_(V)=I and making U_(V)=Z_(H), (38) becomes:$\begin{matrix}{C = {\log_{2}\lbrack {\det ( {I + {\frac{1}{\sigma_{n}^{2}}U_{H}S_{H}S_{V}S_{V}^{T}S_{H}^{T}U_{H}^{H}}} )} \rbrack}} & (39)\end{matrix}$

[0104] In other words, the capacity is independent of the right singularvectors of the transmit weight matrix. However, even though the capacityis not affected by Z_(V), different Z_(V)'s will greatly affect theperformance of a practical receiver depending on what type of receivealgorithm is employed (e.g., successive cancellation or linear weights).Therefore a search can be performed only over Z_(V) and the resultingweights will not change the theoretical capacity but will improve thereceiver performance given the algorithm employed.

[0105] To maximize the capacity, the r (r≠N_(s) in general) singularvalues for the transmit weight vectors are selected according to thewater-pouring strategy as known in the art with a total transmit powerof one (this enforces the constraint trace(V^(H)V)=1). If thewater-pouring strategy says to transmit on more streams than N_(s), thenthe singular values of the transmit weight vectors are selectedaccording to the water-pouring strategy using only the largest N_(s)singular values of H.

[0106] To summarize, the transmit weights are expressed as:

V=Z _(H) S _(V) Z _(V) ^(H)   (40)

[0107] Therefore the received data vector can be expressed as:

y=U _(H) S _(H) Z _(H) ^(H) Z _(H) S _(V) Z _(V) ^(H) x+n=U _(H) S _(H)S _(V) Z _(V) ^(H) x+n   (41)

[0108] Let r×1 Y_(r)={U_(H) ^(H)y}_(r) where {a}_(i) means the first ielements of the vector a, then Y_(r) is: $\begin{matrix}\begin{matrix}{Y_{r} = \{ {{U_{H}^{H}U_{H}S_{H}S_{V}Z_{V}^{H}x} + {U_{H}^{H}n}} \}_{r}} \\{= {{\{ {S_{H}S_{V}Z_{V}^{H}x} \}_{r} + \{ {U_{H}^{H}n} \}_{r}} = {{{DZ}_{V}^{H}x} + N_{r}}}}\end{matrix} & (42)\end{matrix}$

[0109] where the diagonalized channel, D, is a real r×r diagonal matrixequal to diag(s_(H,1)s_(V,1), . . . , s_(H,r)s_(Vr)) and N_(r) has acovariance matrix equal to σ_(n) ²I_(r). Note that s_(H,r)≠0 because thewater-pouring strategy would never dictate sending power on a streamwith a singular value of zero.

[0110] For the Successive Cancellation MMSE weights, in order tomaximize the capacity, r must equal the number of streams that thewater-pouring strategy dictates and r must be less than or equal toN_(s). Assuming this is true (i.e., r≦N_(s)), the SuccessiveCancellation MMSE weights that maximize capacity are found by solving:$\begin{matrix}{{{\min\limits_{W,T}{\sum\limits_{l = 1}^{N_{s}}{E{{{w_{l}^{H}( {Y_{r} - {D{\sum\limits_{p = 1}^{l - 1}t_{p}}} + x_{p}} )} - x_{l}}}^{2}}}} = {\min\limits_{W,T}{\sum\limits_{l = 1}^{N_{s}}{E{{{w_{l}^{H}( {{D{\sum\limits_{p = 1}^{N_{s}}{t_{p}x_{p}}}} + N_{r}} )} - x_{l}}}}}}}{{{subject}\quad {{to}:{TT}^{H}}} = I}} & (43)\end{matrix}$

[0111] where the r×N_(s) right singular matrix, T, is T=[t₁, . . . ,t_(Ns)], t₁ through t_(Ns) are the right singular vectors, T=Z_(V) ^(H),and M_(R)×N_(s) W=[w₁, . . . w_(Ns)].

[0112] It can be shown that the receive weight vector for stream l isgiven by: $\begin{matrix}{w_{l} = {( {{D{\sum\limits_{p = l}^{N_{s}}{t_{p}t_{p}^{H}D}}} + {\sigma_{n}^{2}I_{r}}} )^{- 1}{Dt}_{l}}} & (44)\end{matrix}$

[0113] Ignoring the constraint for now, the gradient of the objectivefunction in (44) with respect to t_(l) (the l^(th) column of T) can beshown to be: $\begin{matrix}{{\nabla\quad t} = {{D{\sum\limits_{p = 1}^{l}{w_{p}w_{p}^{H}{Dt}_{l}}}} - {Dw}_{l}}} & (45)\end{matrix}$

[0114] Using (45), T can be found through a gradient search where theconstraint of TT^(H)=I is enforced at each step. This procedure isdescribed in a flow chart representation 900 of a preferred embodimentof the invention illustrated in FIG. 8.

[0115] The embodiment of the invention illustrated in FIG. 8 may beprovided a channel matrix, H (910). Next the iteration number, m, can beset to 0 (920). The right singular matrix at iteration number 0, T₀, maynext be initialized by choosing any arbitrary r×N_(s) matrix such thatT₀T₀ ^(H)=I (930). Next, the receive weight vectors at iteration numberm, w_(m,l), can be computed as a function of the diagonalized channel,D, and the right singular vectors at iteration number m, t_(m,l), (940)as$w_{m,l} = {( {{D{\sum\limits_{p = l}^{N_{s}}{t_{m,p}t_{m,p}^{H}D}}} + {\sigma_{n}^{2}I}} )^{- 1}{Dt}_{m,l}}$

[0116] for l=1, . . . , N_(s). Then the gradient vectors at iterationnumber m, g_(m,l), may be computed as a function of the diagonalizedchannel, the receive weight vectors at iteration number m, and the rightsingular vectors at iteration number m (950) as${g_{m,l} = {{{D{\sum\limits_{p = 1}^{l}{w_{m,p}w_{m,p}^{H}{Dt}_{m,l}}}} - {{Dw}_{m,l}\quad {for}\quad l}} = 1}},\ldots \quad,{N_{s}.}$

[0117] for l=1, . . . , N_(s). If a step size, α, has not beencalculated prior to (960) then a step size can be calculated that willminimize the objective function in (43) subject to T_(m)T_(m) ^(H)=I(965). The next step may compute the right singular vectors at iterationnumber m+1 as a function of the right singular vectors at iterationnumber m, the step size at iteration number m, and the gradient vectorsat iteration number m (970) as t_(m,l)=t_(m,l)−αg_(m,l) for l=1, . . . ,N_(s). The iteration number may then be incremented by one (975) asm=m+1. Then (977) the right singular matrix at iteration number m,T_(m), is formed by concatenating the right singular vectors atiteration number m together (T_(m)=[t_(m,l)|, . . . , |t_(m,Ns)]) and aGram-Schmidt orthogonalization (as known in the art) can be performed onthe rows of the right singular matrix at iteration number m (thisenforces the constraint T_(m)T_(m) ^(H)=I). The flow chartrepresentation 900 continues as an embodiment of the invention in FIG.8A.

[0118] In FIG. 8A, if the iteration number has reached an ‘end’ value980, where m_(end) may be an integer designating the maximum number ofiterations, then the right singular matrix may be the right singularmatrix at iteration number m, (T=T_(m)) and the receive weight vectorsmay be chosen to be the receive weight vectors at iteration number m,(w_(l)=w_(m,l)) 990 completing this embodiment. If the iteration numberhas not reached an ‘end’ value, block 985 can decide if trace(G_(m)^(H)G_(m))<ε where G_(m)=[g_(m,1)|, . . . , |g_(m,Ns)], and if yes, thereceive weight vectors are chosen to be the receive weight vectors atiteration number m, (w_(l)=w_(m,l)) and the right singular matrix ischosen to be the right singular matrix at iteration number m, (T=T_(m))990 again completing this embodiment. For decision block 985,trace(G_(m) ^(H)G_(m)) means the sum of the diagonal elements of thesquare matrix (G_(m) ^(H)G_(m))and where ε is a number indicating howsmall the gradient matrix at iteration number m should get. In otherwords, when trace(G_(m) ^(H)G_(m))<ε, the algorithm has almost convergedbecause at the optimal solution, G_(m)=0. If in decision block 985,trace(G_(m) ^(H)G_(m))<ε, is false, the process recedes to block 940 ofFIG. 8, and the successive cancellation weights method continues untilall values are satisfied by the techniques described within flow chart900. After completion of the technique described within flow chart 900,the transmit weight vectors may be given as V=Z_(H)S_(V)T.

[0119] The present invention may be embodied in other specific formswithout departing from its spirit or essential characteristics. Thedescribed embodiments are to be considered in all respects only asillustrative and not restrictive.

We claim
 1. A method of operating a communication system comprising:providing a channel matrix of a gain and phase between each transmitantenna and each receive antenna of the communication system; computingat least one receive weight vector as a function of the channel matrixand at least one transmit weight vector; and computing an updatedtransmit weight vector as a function of the transmit weight vector, thereceive weight vector and the channel matrix.
 2. The method of claim 1further comprising computing a gradient matrix as a function of thetransmit weight vector, the channel matrix, the receive weight vectorand a constraint weight, computing the updated transmit weight vector asa function of the gradient matrix and the transmit weight vector.
 3. Themethod of claim 1 wherein the transmit weight vector is computed as afunction of a step size.
 4. The method of claim 1 wherein the updatedtransmit weight vector is computed according to:${\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{r_{u} - x_{u}}}^{2}}}} = {\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{{w_{u}^{H}( {{\sum\limits_{l = 1}^{N_{s}}{{Hv}_{l}x_{l}}} + n} )} - x_{u}}}^{2}}}}$

where r_(u) is the u^(th) element of r and x_(u) is u^(th) element of x.5. The method of claim 2 wherein each column of the gradient matrix iscomputed according to: G=(H ^(H) WW ^(H) H+2γ(trace(V ^(H)V)−1)I_(MT))V−H ^(H) W.
 6. The method of claim 1 wherein the updatedtransmit weight vector is computed according to:${{\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{r_{u} - x_{u}}}^{2}}}} = {\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{{w_{u}^{H}( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{l}x_{l}}} + n} )} - x_{u}}}^{2}}}}},$

where r_(u) is the u^(th) element of r and x_(u) is u^(th) element of x.7. The method of claim 2 wherein each column of the gradient matrix iscomputed according to:${{\nabla\quad v_{u}} = {{( {{\sum\limits_{l = 1}^{u}{H^{H}w_{l}w_{l}^{H}H}} + {2\gamma \quad ( {{{trace}\quad ( {V^{H}V} )} - 1} )I_{M_{T}}}} )v_{u}} - {H^{H}w_{u}}}},$

where u designates a column of the gradient vector.
 8. A system foroperating a communication system comprising: means for providing achannel matrix of a gain and phase between each transmit antenna andeach receive antenna of the communication system; means for computing atleast one receive weight vector as a function of the channel matrix andat least one of transmit weight vectors; and means for computing anupdated transmit weight vector as a function of the transmit weightvector, the channel matrix, and the receive weight vector.
 9. The systemof claim 8 further comprising means for computing a gradient matrix as afunction of the channel matrix, the receive weight vector, the transmitweight vector and a constraint weight, means for computing the updatedtransmit weight vector as a function of the gradient matrix and thetransmit weight vector.
 10. The system of claim 8 further comprisingmeans for computing the transmit weight vector as a function of a stepsize.
 11. A computer readable medium storing a computer programcomprising: computer readable code for providing a channel matrix of again and phase between each transmit antenna and each receive antenna ofthe communication system; computer readable code for computing at leastone receive weight vector as a function of the channel matrix and atleast one of transmit weight vectors; computer readable code forcomputing a gradient matrix as a function of the channel matrix, thereceive weight vector and the transmit weight vector; and computerreadable code for computing an updated transmit weight vector as afunction of the transmit weight vector and the gradient vector.
 12. Theprogram of claim 11 further comprising computer readable code forcomputing a gradient matrix as a function of the transmit weight vector,the channel matrix, the receive weight vector and a constraint weight,computing the updated transmit weight vector as a function of thegradient matrix and the transmit weight vector.
 13. The program of claim11 further comprising computer readable code for computing the transmitweight vector as a function of a step size.
 14. The method of claim 11wherein the updated transmit weight vector is computed according to:${{\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{r_{u} - x_{u}}}^{2}}}} = {\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{{w_{u}^{H}( {{\sum\limits_{l = 1}^{N_{s}}{{Hv}_{l}x_{l}}} + n} )} - x_{u}}}^{2}}}}},$

where r_(u) is the u^(th) element of r and x_(u) is u^(th) element of x.15. The program of claim 12 wherein each column of the gradient matrixis computed according to: G=(H ^(H) WW ^(H) H+2γ(trace(V ^(H)V)−1)I_(MT))V−H ^(H) W.
 16. The program of claim 1 1 wherein the updatedtransmit weight vector is computed according to:${{\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{r_{u} - x_{u}}}^{2}}}} = {\min\limits_{w_{u},v_{u}}{\sum\limits_{u = 1}^{N_{s}}{E{{{w_{u}^{H}( {{\sum\limits_{l = u}^{N_{s}}{{Hv}_{l}x_{l}}} + n} )} - x_{u}}}^{2}}}}},$

where r_(u) is the u^(th) element of r and x_(u) is u^(th) element of x.17. The program of claim 12 wherein each column of the gradient matrixis computed according to:${{\nabla\quad v_{u}} = {{( {{\sum\limits_{l = 1}^{u}{H^{H}w_{l}w_{l}^{H}H}} + {2\quad \gamma \quad ( {{{trace}( {V^{H}V} )} - 1} )I_{M_{T}}}} )v_{u}} - {H^{H}w_{u}}}},$

where u designates a column of the gradient vector.
 18. A method ofoperating a communication system comprising computing a plurality oftransmit weight vectors and a plurality of receive weight vectors thatminimizes an expected mean squared error between analytical successivecancellation symbol estimates and transmitted symbols.
 19. The method ofclaim 18 wherein each analytical successive cancellation symbol estimateis computed according to:${r_{u} = {w_{u}^{H}( {y - {\sum\limits_{l = 1}^{u - 1}{{Hv}_{l}{\overset{̑}{x}}_{l}}}} )}},$

where {circumflex over (x)}_(l)=slice(r_(l))
 20. The method of claim 18wherein the transmit weight vector is normalized according to: trace(V^(H) V)=1
 21. A method of operating a communication system comprisingcomputing a plurality of transmit weight vectors wherein the transmitweight vectors are computed according to: V=U _(V) S _(V) Z _(V) ^(H)where U_(V)=Z_(H) and Z_(V) is chosen according to: Z _(V,l) ^(H){tildeover (D)}Z _(V,l)=1−{overscore (MSE)}=trace({tilde over (D)})/N _(s)subject to Z _(V) Z _(V) ^(H) =Z _(V) ^(H) Z _(V) =I _(Ns)
 22. Themethod of claim 21 wherein the right singular vectors of the transmitweight matrix are the columns of the normalized DFT matrix.
 23. Themethod of claim 21 wherein the right singular vectors of the transmitweight matrix are the columns of the normalized Hadamard matrix.